Warning: mkdir(): No space left on device in /var/www/tg-me/post.php on line 37
Warning: file_put_contents(aCache/aDaily/post/sqlhub/--): Failed to open stream: No such file or directory in /var/www/tg-me/post.php on line 50 Data Science. SQL hub | Telegram Webview: sqlhub/1896 -
CREATE TABLE sales ( id SERIAL PRIMARY KEY, seller_name VARCHAR, sale_amount NUMERIC, sale_date DATE );
📌Задача: Найди имя продавца, который заработал максимальную сумму за каждый месяц.
🧠Подвох: Многие пытаются использовать GROUP BY month, seller_name и MAX(), но это не даст имя продавца — только сумму. Нужно вернуть имя лучшего продавца за месяц. А если таких несколько? Тоже учти.
💡Подсказки:
• Сначала сгруппируй продажи по month и seller_name • Посчитай SUM(sale_amount) • Используй оконную функцию RANK() или ROW_NUMBER() • Отфильтруй только те строки, где rank = 1
🧩Решение:
WITH monthly_totals AS ( SELECT DATE_TRUNC('month', sale_date) AS month, seller_name, SUM(sale_amount) AS total FROM sales GROUP BY 1, 2 ), ranked AS ( SELECT *, RANK() OVER (PARTITION BY month ORDER BY total DESC) AS rnk FROM monthly_totals ) SELECT month, seller_name, total FROM ranked WHERE rnk = 1 ORDER BY month;
👀Бонус-вопрос: Что будет, если у двух продавцов одинаковая сумма за месяц? Какой оконной функцией это корректно учесть?
👉RANK() вернёт обоих, ROW_NUMBER() — только одного.
📌 Отличная задача, чтобы проверить знание оконных функций и работы с агрегацией в SQL.
CREATE TABLE sales ( id SERIAL PRIMARY KEY, seller_name VARCHAR, sale_amount NUMERIC, sale_date DATE );
📌Задача: Найди имя продавца, который заработал максимальную сумму за каждый месяц.
🧠Подвох: Многие пытаются использовать GROUP BY month, seller_name и MAX(), но это не даст имя продавца — только сумму. Нужно вернуть имя лучшего продавца за месяц. А если таких несколько? Тоже учти.
💡Подсказки:
• Сначала сгруппируй продажи по month и seller_name • Посчитай SUM(sale_amount) • Используй оконную функцию RANK() или ROW_NUMBER() • Отфильтруй только те строки, где rank = 1
🧩Решение:
WITH monthly_totals AS ( SELECT DATE_TRUNC('month', sale_date) AS month, seller_name, SUM(sale_amount) AS total FROM sales GROUP BY 1, 2 ), ranked AS ( SELECT *, RANK() OVER (PARTITION BY month ORDER BY total DESC) AS rnk FROM monthly_totals ) SELECT month, seller_name, total FROM ranked WHERE rnk = 1 ORDER BY month;
👀Бонус-вопрос: Что будет, если у двух продавцов одинаковая сумма за месяц? Какой оконной функцией это корректно учесть?
👉RANK() вернёт обоих, ROW_NUMBER() — только одного.
📌 Отличная задача, чтобы проверить знание оконных функций и работы с агрегацией в SQL.
Telegram auto-delete message, expiring invites, and more
elegram is updating its messaging app with options for auto-deleting messages, expiring invite links, and new unlimited groups, the company shared in a blog post. Much like Signal, Telegram received a burst of new users in the confusion over WhatsApp’s privacy policy and now the company is adopting features that were already part of its competitors’ apps, features which offer more security and privacy. Auto-deleting messages were already possible in Telegram’s encrypted Secret Chats, but this new update for iOS and Android adds the option to make messages disappear in any kind of chat. Auto-delete can be enabled inside of chats, and set to delete either 24 hours or seven days after messages are sent. Auto-delete won’t remove every message though; if a message was sent before the feature was turned on, it’ll stick around. Telegram’s competitors have had similar features: WhatsApp introduced a feature in 2020 and Signal has had disappearing messages since at least 2016.
How to Buy Bitcoin?
Most people buy Bitcoin via exchanges, such as Coinbase. Exchanges allow you to buy, sell and hold cryptocurrency, and setting up an account is similar to opening a brokerage account—you’ll need to verify your identity and provide some kind of funding source, such as a bank account or debit card. Major exchanges include Coinbase, Kraken, and Gemini. You can also buy Bitcoin at a broker like Robinhood. Regardless of where you buy your Bitcoin, you’ll need a digital wallet in which to store it. This might be what’s called a hot wallet or a cold wallet. A hot wallet (also called an online wallet) is stored by an exchange or a provider in the cloud. Providers of online wallets include Exodus, Electrum and Mycelium. A cold wallet (or mobile wallet) is an offline device used to store Bitcoin and is not connected to the Internet. Some mobile wallet options include Trezor and Ledger.